From c2d3841ba75c597261929d14a4fce73daf74ab6d Mon Sep 17 00:00:00 2001 From: "kaf24@firebug.cl.cam.ac.uk" Date: Wed, 6 Apr 2005 22:35:34 +0000 Subject: [PATCH] bitkeeper revision 1.1280 (42546436AjH1RKAsscWgqxhnCsGwyg) Get the x86/64 build working again. Signed-off-by: Keir Fraser --- xen/arch/x86/audit.c | 8 +++++--- xen/arch/x86/shadow.c | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/xen/arch/x86/audit.c b/xen/arch/x86/audit.c index 5faca40f5f..8df6a962bf 100644 --- a/xen/arch/x86/audit.c +++ b/xen/arch/x86/audit.c @@ -30,8 +30,7 @@ #include #include -// XXX SMP bug -- these should not be statics... -// +/* XXX SMP bug -- these should not be statics... */ static int ttot=0, ctot=0, io_mappings=0, lowmem_mappings=0; static int l1, l2, oos_count, page_count; @@ -538,10 +537,14 @@ int audit_adjust_pgtables(struct domain *d, int dir, int noisy) } } +#ifdef __i386__ if ( shadow_mode_external(d) ) l2limit = L2_PAGETABLE_ENTRIES; else l2limit = DOMAIN_ENTRIES_PER_L2_PAGETABLE; +#else + l2limit = 0; /* XXX x86/64 XXX */ +#endif adjust_for_pgtbase(); @@ -553,7 +556,6 @@ int audit_adjust_pgtables(struct domain *d, int dir, int noisy) adjust_shadow_tables(); } - //printk("d->shared_info=%p __pa()=%p\n", d->shared_info, __pa(d->shared_info)); adjust(virt_to_page(d->shared_info), 1); return errors; diff --git a/xen/arch/x86/shadow.c b/xen/arch/x86/shadow.c index 1d317f3433..563a4bfdde 100644 --- a/xen/arch/x86/shadow.c +++ b/xen/arch/x86/shadow.c @@ -322,10 +322,14 @@ free_shadow_hl2_table(struct domain *d, unsigned long smfn) l1_pgentry_t *hl2 = map_domain_mem(smfn << PAGE_SHIFT); int i, limit; +#ifdef __i386__ if ( shadow_mode_external(d) ) limit = L2_PAGETABLE_ENTRIES; else limit = DOMAIN_ENTRIES_PER_L2_PAGETABLE; +#else + limit = 0; /* XXX x86/64 XXX */ +#endif for ( i = 0; i < limit; i++ ) { @@ -604,9 +608,11 @@ static void alloc_monitor_pagetable(struct exec_domain *ed) mpl2e = (l2_pgentry_t *) map_domain_mem(mmfn << PAGE_SHIFT); memset(mpl2e, 0, PAGE_SIZE); +#ifdef __i386__ /* XXX screws x86/64 build */ memcpy(&mpl2e[DOMAIN_ENTRIES_PER_L2_PAGETABLE], &idle_pg_table[DOMAIN_ENTRIES_PER_L2_PAGETABLE], HYPERVISOR_ENTRIES_PER_L2_PAGETABLE * sizeof(l2_pgentry_t)); +#endif mpl2e[l2_table_offset(PERDOMAIN_VIRT_START)] = mk_l2_pgentry((__pa(d->arch.mm_perdomain_pt) & PAGE_MASK) @@ -1306,10 +1312,14 @@ shadow_hl2_table(struct domain *d, unsigned long gpfn, unsigned long gmfn, hl2 = map_domain_mem(hl2mfn << PAGE_SHIFT); +#ifdef __i386__ if ( shadow_mode_external(d) ) limit = L2_PAGETABLE_ENTRIES; else limit = DOMAIN_ENTRIES_PER_L2_PAGETABLE; +#else + limit = 0; /* XXX x86/64 XXX */ +#endif memset(hl2, 0, limit * sizeof(l1_pgentry_t)); @@ -2712,10 +2722,14 @@ int check_l2_table( (__pa(d->arch.mm_perdomain_pt) | __PAGE_HYPERVISOR)); } +#ifdef __i386__ if ( shadow_mode_external(d) ) limit = L2_PAGETABLE_ENTRIES; else limit = DOMAIN_ENTRIES_PER_L2_PAGETABLE; +#else + limit = 0; /* XXX x86/64 XXX */ +#endif /* Check the whole L2. */ for ( i = 0; i < limit; i++ ) @@ -2773,10 +2787,14 @@ int _check_pagetable(struct exec_domain *ed, char *s) spl2e = (l2_pgentry_t *) map_domain_mem( smfn << PAGE_SHIFT ); /* Go back and recurse. */ +#ifdef __i386__ if ( shadow_mode_external(d) ) limit = L2_PAGETABLE_ENTRIES; else limit = DOMAIN_ENTRIES_PER_L2_PAGETABLE; +#else + limit = 0; /* XXX x86/64 XXX */ +#endif for ( i = 0; i < limit; i++ ) { -- 2.30.2